package menu.service.Impl;
import admin.service.impl.AdminServiceImpl;
import menu.service.aa.MenuService;

import java.util.Scanner;

import student.service.Impl.StudentServiceImpl;
public class MenuServiceImpl implements MenuService{
    AdminServiceImpl adminService=new AdminServiceImpl();
    StudentServiceImpl studentService=new StudentServiceImpl();

    @Override
    public void mainMenu()  {
        while (true){
            System.out.println("************************************");
            System.out.println("       欢迎使用仁爱学院教务管理系统");
            System.out.println("               1.登录");
            System.out.println("               2.注册");
            System.out.println("               3.退出");
            System.out.println("************************************");
            System.out.println("请输入你的选择：");
            Scanner scanner=new Scanner(System.in);
            String next=scanner.next();
            switch (next){
                case "1":
                    System.out.println("你选择了登录，即将跳转到用户登录");
                    loginMenu();
                    break;
                case "2":
                    System.out.println("你选择了注册，即将跳转到用户注册");
                    break;
                case "3":
                    System.out.println("");
                    System.out.println("系统即将退出......");
                    System.out.println("欢迎下次使用");
                    return;
                default:
                    System.out.println("输入错误请重新输入");
            }
        }
    }

    @Override
    public void loginMenu() {
        while (true) {
            System.out.println("****************************************");
            System.out.println("      欢迎使用仁爱学院教务管理系统");
            System.out.println("                1.管理员登录");
            System.out.println("                2.教师登录");
            System.out.println("                3.学生登录");
            System.out.println("                3.退出");
            System.out.println("****************************************");
            System.out.print("请输入你的选择：");
            //扫描监听
            Scanner scanner = new Scanner(System.in);
            //监听字符串 如果监听数字输入字符串会报错
            String next = scanner.next();
            switch (next) {
                case "1": //跳转到管理员登录
                    System.out.println("正在进入管理员登录窗口");
                    adminService.adminLogin();
                    break;
                case "2": //跳转到教师登录
                    break;
                case "3": //跳转到学生登录
                    System.out.println("正在进入学生登录窗口");
                    studentService.studentLogin();
                    break;
                case "4": //系统退出
                    return;
                default:    //输入错误从新输入
            }
        }
    }
    @Override
    public void adminMenu() {
        //管理员菜单展示
        while (true) {
            System.out.println("****************************************");
            System.out.println("          欢迎" + AdminServiceImpl.admin.getAdminName() + "登录");
            System.out.println("            1.个人信息");
            System.out.println("            2.教师信息");
            System.out.println("            3.学生信息");
            System.out.println("            4.退出");
            System.out.println("****************************************");
            System.out.print("请输入你的选择：");
            //扫描监听
            Scanner scanner = new Scanner(System.in);
            //监听字符串 如果监听数字输入字符串会报错
            String next = scanner.next();
            switch (next) {
                case "1": //跳转到个人信息页面
                    adminRevise();
                    break;
                case "2": //跳转到教师信息页面
                    break;
                case "3": //跳转到学生信息页面
                    adminStudent();
                    break;
                case "4": //系统退出
                    return;
                default:    //输入错误从新输入
            }
        }
    }
    @Override
    public void adminRevise() {
        //管理员菜单展示
        while (true) {
            System.out.println("****************************************");
            System.out.println("          欢迎" + AdminServiceImpl.admin.getAdminName() + "登录");
            System.out.println("             登录账号：" + AdminServiceImpl.admin.getLoginName());
            System.out.println("             用户姓名：" + AdminServiceImpl.admin.getAdminName());
            System.out.println("            1.修改登录账号");
            System.out.println("            2.修改用户姓名");
            System.out.println("            3.修改用户密码");
            System.out.println("            4.退出");
            System.out.println("****************************************");
            System.out.print("请输入你的选择：");
            //扫描监听
            Scanner scanner = new Scanner(System.in);
            //监听字符串 如果监听数字输入字符串会报错
            String next = scanner.next();
            switch (next) {
                case "1": //修改登录账号

                    break;
                case "2": //修改用户姓名

                    break;
                case "3": //修改用户密码
                    new AdminServiceImpl().adminRevisePassword();
                    return;
                case "4": //跳转到教师信息页面
                    return;
                default:    //输入错误从新输入
            }
        }
    }

    @Override
    public void adminStudent() {
            while (true) {
                System.out.println("****************************************");
                System.out.println("          欢迎" + AdminServiceImpl.admin.getAdminName() + "登录");
                System.out.println("            1.查看学生信息");
                System.out.println("            2.添加学生信息");
                System.out.println("            3.删除学生信息");
                System.out.println("            4.修改学生信息");
                System.out.println("            5.退出");
                System.out.println("****************************************");
                System.out.print("请输入你的选择：");
                //扫描监听
                Scanner scanner = new Scanner(System.in);
                //监听字符串 如果监听数字输入字符串会报错
                String next = scanner.next();
                switch (next) {
                    case "1": //跳转到查看页面
                        break;
                    case "2": //跳转到添加页面
                        studentService.studentAdd();
                        break;
                    case "3": //跳转到删除页面
                        break;
                    case "4": //跳转到修改页面
                        break;
                    case "5":
                        return;
                    default:    //输入错误从新输入
                }
            }
        }

    @Override
    public void loginStudent() {

    }
}





